#ifndef VIDEOSETTINGS_H
#define VIDEOSETTINGS_H

#include "Settings.h"

namespace Cvekas {

/// Video settings
class VideoSettings: public SettingsGroup
{
public:
	/// Constructor
	VideoSettings(const std::string& filename = "video.cfg");

	/// Only existing settings can be used
	virtual SettingValue& operator[](const std::string& name);

	/// Returns device type
	D3DDEVTYPE getRenderer();
	/// Returns backbuffer format
	D3DFORMAT getBBufferFormat();
	/// Returns depth and stencil buffer format
	D3DFORMAT getDepthStencilFormat();
	/// Returns multisampling type
	D3DMULTISAMPLE_TYPE getAntialiasing();
	/// Returns vertex processing type
	DWORD getVertexProcessing();
	/// Returns present interval
	DWORD getPresentInterval();
};

} // namespace

#endif